package com.smdp.controller;

import cn.hutool.core.io.FileUtil;
import cn.hutool.core.util.StrUtil;
import com.smdp.dto.Result;
import com.smdp.service.IUploadService;
import lombok.extern.slf4j.Slf4j;
import org.springframework.web.bind.annotation.*;
import org.springframework.web.multipart.MultipartFile;

import javax.annotation.Resource;

/**
 * 图片上传前端控制器。
 * 包含上传图片和删除图片的功能。其中，上传图片时，随机生成文件名和目录名。
 *
 * @author 蔡方珩
 */
@Slf4j
@RestController
@RequestMapping("/upload")
public class UploadController {

    @Resource
    IUploadService uploadService;

    /**
     * 上传图片
     * @param image 图片对象
     * @return  成功：图片地址+图片名 / 失败：失败原因
     */
    @PostMapping("/blog")
    public Result uploadImage(@RequestParam("file") MultipartFile image) {
        return uploadService.uploadImage(image);
    }

    /**
     * 删除照片
     * @param filename 图片地址+图片名
     * @return 成功：OK / 失败：失败原因
     */
    @GetMapping("/blog/delete")
    public Result deleteBlogImg(@RequestParam("name") String filename) {
        return uploadService.deleteBlogImg(filename);
    }


}
